From b75972d0cea9243f14ed15c98a2e89552cbe560a Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Fri, 3 Dec 2010 20:31:13 +0100 Subject: [PATCH] GtkStyle: set style context state before calling gtk_render_icon_pixbuf() --- gtk/gtkstyle.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 83645560b5..ff7686a6ab 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1693,6 +1693,7 @@ gtk_default_render_icon (GtkStyle *style, { GtkStyleContext *context; GtkStylePrivate *priv; + GtkStateFlags flags = 0; GdkPixbuf *pixbuf; if (widget) @@ -1711,6 +1712,20 @@ gtk_default_render_icon (GtkStyle *style, if (detail) transform_detail_string (detail, context); + switch (state) + { + case GTK_STATE_PRELIGHT: + flags |= GTK_STATE_FLAG_PRELIGHT; + break; + case GTK_STATE_INSENSITIVE: + flags |= GTK_STATE_FLAG_INSENSITIVE; + break; + default: + break; + } + + gtk_style_context_set_state (context, flags); + pixbuf = gtk_render_icon_pixbuf (context, source, size); gtk_style_context_restore (context); -- 2.30.2